/**
 * 处理隐藏弹出窗口的
 */
function handler_click_hide_slider_window(){

	 var slider_window_el = $( '#base_index_detail_product_item_nav_slider' );
	 var is_click_slider_window;
	 var first_display = false;

	 //判断点击的是否是弹出窗口的元素
	 slider_window_el.click( function(){

		 is_click_slider_window = true;
	 });

	 $( 'body' ).bind( 'click' , function(){

		 if( slider_window_el.is( ':hidden' ) ){
		
			 //还没有显示窗口 啥也不干 
			 return false;
		 }	 

		 if( typeof is_click_slider_window == 'undefined' || is_click_slider_window == true ){
			
			 is_click_slider_window = false;
			 //如果点击的是 slider_window , 或还没有初始化 则什么也不做
			 return false;
		 }else{

			 //如果点击的是 slider_window 之外的其他元素 则
			 //隐藏 slider window	 
			 easyDialog.close();
			 is_click_slider_window = true;
			 //解除绑定 slider 的各个方法到相应的 dom 元素上
			 $( '.base_index_detail_product_item_nav_slider_prev' ).unbind( 'click' );
			 $( '.base_index_detail_product_item_nav_slider_next' ).unbind( 'click' );
			 //清除
			 $( '#base_index_detail_product_item_nav_slider_ul .base_index_detail_product_item_nav_slider_li' ).text( '' );

			 $( 'body' ).unbind( 'click' );
		 }
	 });
	
	 //使能 esc
	 $( document ).keydown( function( event ){

	 	 if( event.keyCode === 27 ){
	 
			 easyDialog.close();
			 is_click_slider_window = true;
			 //解除绑定 slider 的各个方法到相应的 dom 元素上
			 $( '.base_index_detail_product_item_nav_slider_prev' ).unbind( 'click' );
			 $( '.base_index_detail_product_item_nav_slider_next' ).unbind( 'click' );
			 //清除
			 $( '#base_index_detail_product_item_nav_slider_ul .base_index_detail_product_item_nav_slider_li' ).text( '' );
	 	 };	
	 });

	 //屏蔽 ff 的 esc 键中断 ajax 操作
	 if( $.browser.mozilla ){

	 	 window.onkeydown = function( el ){

			 if( el.keyCode === 27 ){

	 	 	 	 return false;
	 	 	 }
	 	 } 
	 }
}; 

/**
  * 绑定按钮上的 click 事件 ，使能弹出窗口
  *
  * @param el 需要绑定的 dom 元素
  */
function enable_slider_button( el ){
 
         $( el ).click( function(){ 

                 //获取该元素的 id
                 //product_class-sub_dir
                 var this_el_id = $( el ).attr( 'id' );

                 //初始化 slider 对象
                 var slider = new slider_factory( this_el_id );

                 //显示 slider_window
                 easyDialog.open({
                        container : 'base_index_detail_product_item_nav_slider',
                        fixed : true,
                        lock : true ,
                        //定义一个回调函数 在关闭当前的对话框的时候
                        //重置服务器上的 session 值	
                        callback : function(){
                        
                                $.post( '/base/reset_current_page_cursor' );
                        }
                 });

		 handler_click_hide_slider_window();

                 //绑定 slider 的各个方法到相应的 dom 元素上
                 $( '.base_index_detail_product_item_nav_slider_prev' ).bind( 'click' , function(){
        
                        slider.priv_page();
                 });
                 $( '.base_index_detail_product_item_nav_slider_next' ).bind( 'click' , function(){
                
                        slider.next_page();
                 });
         });
 }

//浮点数乘法
function FloatMul( arg1 , arg2 ){ 
    var m=0,s1=arg1.toString(),s2=arg2.toString(); 
    try{m+=s1.split(".")[1].length}catch(e){} 
    try{m+=s2.split(".")[1].length}catch(e){} 
    return Number(s1.replace(".",""))*Number(s2.replace(".",""))/Math.pow(10,m) 
} 

//浮点数加法
function FloatAdd( arg1 , arg2 ){   
	var r1 , r2 , m;   
	try{
	        r1=arg1.toString().split(".")[1].length;
	}catch(e){ 
                r1=0;
        }   
	try{
	        r2=arg2.toString().split(".")[1].length;
	}catch(e){ 
                r2=0
        }   
	m = Math.pow(10,Math.max(r1,r2));
	return ( parseInt( FloatMul( arg1 , m ) ) + parseInt( FloatMul( arg2 , m ) ) ) / m;
}   
